Revert 22186:7167d6dd5c7c "x86: Retry do_mmu_update() a few times"
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 22 Sep 2010 07:49:09 +0000 (08:49 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 22 Sep 2010 07:49:09 +0000 (08:49 +0100)
commit3bbed81e3005270423cc4047fb19c1ac90825548
tree7c6941aa25ea3d374e6b44f4973d563f5fb9f2a2
parent80da7630766e612dc7a8c793f9098d0c0c2f511b
Revert 22186:7167d6dd5c7c "x86: Retry do_mmu_update() a few times"

It does not work reliably for a couple of reasons:
(1) page_lock() fails if a page is !PGT_validated, and a page can
remain in that state for unbounded time.
(2) in the kernel-side race that motivated this patch, pgd_pin() can
lose to vmalloc_sync_all() -- pgd_pin() can try to chaneg a pmd page's
type to l2_pagetable while
vmalloc_sync_all()->set_pmd()->do_mmu_update() has it temporarily
pinned as writable. This is hard to fix on the Xen side.

Hence I give up on this approach, revert the patch, and settle for
kernel-side patching only.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/mm.c